接口基础信息
基础地址
- USDT-M:
https://fapi.xt.com(适用于 U 本位合约) - Coin-M:
https://dapi.xt.com(适用于币本位合约)
网络建议
由于高延迟和稳定性差的原因,不建议通过代理访问 XT API。
请求方式
- GET 请求: 参数放在 QueryString 中。
- POST 请求: 参数可以放在 RequestBody 或 QueryString 中。
当参数放在 QueryString 中时:
必须在 HTTP Header 中添加:
Content-Type: application/x-www-form-urlencoded
当参数放在 RequestBody 中时:
必须在 HTTP Header 中添加:
Content-Type: application/json
接口分类
XT API 接口分为 公共接口 和 用户接口。
🟢 公共接口
- 无需身份认证。
- 参数直接放入 QueryString 中。
- 通常使用 GET 方法。
示例:
curl -G "https://fapi.xt.com/future/market/v1/public/symbol/detail?symbol=btc_usdt"
或:
curl -G "https://fapi.xt.com/future/market/v1/public/symbol/detail" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "symbol=btc_usdt"
🔒 用户接口
- 需要在 Header 中传入认证参数。
- 除了 QueryString 或 RequestBody 参数外,至少需要以下四个 Header:
| Header | 说明 |
|---|---|
validate-appkey | 用户公钥 |
validate-timestamp | 当前时间戳(毫秒) |
validate-signature | 请求签名 |
Content-Type | 请求类型(application/json 或 application/x-www-form-urlencoded) |
GET 示例:
curl -G "https://fapi.xt.com/future/user/v1/compat/balance/list" \
-H "validate-appkey: $APPKEY" \
-H "validate-timestamp: $TIMESTAMP" \
-H "validate-signature: $SIGNATURE" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "queryAccountId=1234567890"
POST 示例:
curl -X POST "https://fapi.xt.com/future/user/v1/user/collection/add" \
-H "validate-appkey: $APPKEY" \
-H "validate-timestamp: $TIMESTAMP" \
-H "validate-signature: $SIGNATURE" \
-H "Content-Type: application/json" \
-d '{"symbol":"btc_usdt"}'
不需要签名的接口将在文档中额外说明。
认证说明
- 如何获取 APPKEY: 访问说明 → 申请 API KEY
- 如何获取签名: 访问说明 → 获取签名
限流规则
U 本位合约(fapi.xt.com)和币本位合约(dapi.xt.com)适用相同的频率限制。
- 私有接口(需要签名)按 API Key 限频。
- 公开接口(无需签名)按 客户端 IP 限频。
- 部分接口共用一份额度。以"组"列出的接口,限额针对该组所有接口的请求总数。
- 每项限制包括持续速率和突发容量:可以一次性发出不超过突发 容量的请求,之后额度按持续速率恢复。
私有接口(按 API Key)
| 分组 | 接口 | 持续速率 | 突发容量 |
|---|---|---|---|
| 批量撤销 / 一键平仓 | /future/trade/v1/order/cancel-all/future/trade/v1/entrust/cancel-all-plan/future/trade/v1/entrust/cancel-all-track/future/trade/v1/order-entrust/cancel-all/future/user/v1/position/close-all | 每秒 3 次 | 20 |
| 撤销全部止盈止损 | /future/trade/v1/entrust/cancel-all-profit-stop | 每秒 1 次 | 2 |
| 调整杠杆 | /future/user/v1/position/adjust-leverage | 每秒 5 次 | 20 |
| 当前订单与委托 | /future/trade/v1/order/list/future/trade/v1/entrust/plan-list/future/trade/v1/entrust/track-list/future/trade/v1/entrust/reverse-plan-list/future/trade/v1/order-entrust/list | 每秒 20 次 | 50 |
| 当前挂单(POST) | /future/trade/v1/order/list-open-order | 每秒 20 次 | 50 |
| 止盈止损与委托历史 | /future/trade/v1/entrust/profit-list/future/trade/v1/entrust/profit-list-history/future/trade/v1/entrust/plan-list-history/future/trade/v1/entrust/track-list-history/future/trade/v1/entrust/reverse-plan-list-history | 每秒 5 次 | 15 |
| 历史订单与成交 | /future/trade/v1/order/list-history/future/trade/v1/order/trade-list/future/trade/v1/order/trade-list-all/future/trade/v1/order/trade-history/future/trade/v1/order/quant/list-history/future/trade/v1/order/quant/trade-list/future/trade/v2/order/partial-canceled-orders | 每秒 5 次 | 15 |
| 仓位历史 | /future/user/v1/position/break-list/future/user/v1/position/list-history | 每秒 3 次 | 6 |
| 账户历史 | /future/user/v1/balance/bills/future/user/v1/balance/funding-rate-list/future/user/v1/auto-deleverage/history/future/user/v1/taker-over/list | 每秒 5 次 | 15 |
| 其他交易与仓位接口 | 其余 /future/trade/**、/future/user/v1/position/** 接口,GET 与 POST 分别计数 | 每秒 200 次 | 200 |
| 其他账户接口 | 其余 /future/user/** 接口,GET 与 POST 分别计数 | 每秒 200 次 | 200 |
仓位相关接口也可以使用 /future/trade/v1/position/ 前缀调用,限额相同。
公开接口(按 IP)
| 接口 | 持续速率 | 突发容量 |
|---|---|---|
/future/market/v1/public/q/depth | 每秒 10 次 | 10 |
/future/market/v1/public/q/funding-rate | 每秒 50 次 | 400 |
/future/market/v1/public/contract/open-interest | 每秒 50 次 | 400 |
其余 /future/market/** 接口(共用) | 每秒 100 次 | 200 |
超出限制时
- 请求返回 HTTP 状态码
429 Too Many Requests。 - 受限接口的每个响应都带有以下响应头:
X-RateLimit-Remaining:当前还能立即发出的请求数X-RateLimit-Replenish-Rate:每秒持续速率X-RateLimit-Burst-Capacity:突发容量X-RateLimit-Requested-Tokens:单次请求消耗的额度
- 收到 429 后请先等待再重试(例如先等 1 秒,连续 429 时每次等待时间翻倍),不要立即循环重试。
- 需要批量查询多个交易对时,优先使用一次返回全部交易对的接口,或改用 WebSocket 订阅代替轮询。